Exemplary implementations are directed to a method and system for providing database software code promotion from software development to end user environments.
Conventional software code promotion, also referred to as software code migration, from a pre-production environment to a production environment generally involves software developers generating source code for deployment in an end user production environment. Such source code is often developed in response to an end user's requirements. However, due to customer compliance and design requirements that are often difficult or costly to automate due to rapidly changing customer needs during software development, conventional database software code promotion from a development platform to an end user production environment generally requires several manual checks before the software code is promoted. Such manual checks are generally done to help prevent errors that often occur when an end user implements the new software code in the production environment.
Personnel, such as administrators and quality assurance engineers, usually perform such manual checks in order to validate software code migration from the pre-production development environment to the production environment. Unfortunately, due to the differences in the pre-production environment and the production environment, which are often not accounted for or are overlooked because of human error, software errors, also referred to as “software bugs,” often occur when the pre-production code is deployed in the production environment.
While having such personnel as a team to validate the software code promotion provides some adaptability to respond to changes between pre-production and production, such a team of personnel being placed between pre-production and production often leads to lengthy delays and additional costs associated with software code promotion. For example, such validation processes often involve the use of manual change request forms to implement changes to the source code, which adds additional delays, costs, and the potential to introduce software code promotion issues.
To avoid the risks of working directly with production environments, some current systems, such as software emulation environments or “sandboxes,” have attempted to overcome this problem between pre and post production code promotion by providing a pre-production environment designed to emulate the production environment. The production environment emulation is generally designed to facilitate a user in finding and resolving errors in the source code before the source code is promoted from the sandbox environment to the live production environment.
Unfortunately, while such sandbox environments have had some success relative to manual testing in the reduction of errors and software bugs, since live production environments are often in development and undergoing rapid change, such emulation environments generally do not accurately match the live production environment leading to errors when the software code is promoted and deployed.
Therefore, a new and improved system and method for software code promotion is desired to overcome the above.